【例子介绍】CIM(CROSS-IM) 即时通讯系统源码
一款面向开发者的 IM(即时通讯)系统;同时提供了一些组件帮助开发者构建一款属于自己可水平扩展的 IM
【相关图片】
【源码结构】
.
├── cim-master
│ ├── LICENSE
│ ├── README.md
│ ├── cim-client
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── crossoverjie
│ │ │ │ └── cim
│ │ │ │ └── client
│ │ │ │ ├── CIMClientApplication.java
│ │ │ │ ├── client
│ │ │ │ │ └── CIMClient.java
│ │ │ │ ├── config
│ │ │ │ │ ├── AppConfiguration.java
│ │ │ │ │ ├── BeanConfig.java
│ │ │ │ │ └── SwaggerConfig.java
│ │ │ │ ├── constant
│ │ │ │ │ └── Emoji.java
│ │ │ │ ├── controller
│ │ │ │ │ └── IndexController.java
│ │ │ │ ├── handle
│ │ │ │ │ ├── CIMClientHandle.java
│ │ │ │ │ └── MsgHandleCaller.java
│ │ │ │ ├── init
│ │ │ │ │ └── CIMClientHandleInitializer.java
│ │ │ │ ├── scanner
│ │ │ │ │ └── Scan.java
│ │ │ │ ├── service
│ │ │ │ │ ├── CustomMsgHandleListener.java
│ │ │ │ │ ├── EchoService.java
│ │ │ │ │ ├── InnerCommand.java
│ │ │ │ │ ├── InnerCommandContext.java
│ │ │ │ │ ├── MsgHandle.java
│ │ │ │ │ ├── MsgLogger.java
│ │ │ │ │ ├── ReConnectManager.java
│ │ │ │ │ ├── RouteRequest.java
│ │ │ │ │ ├── ShutDownMsg.java
│ │ │ │ │ └── impl
│ │ │ │ │ ├── AsyncMsgLogger.java
│ │ │ │ │ ├── ClientHeartBeatHandlerImpl.java
│ │ │ │ │ ├── ClientInfo.java
│ │ │ │ │ ├── EchoServiceImpl.java
│ │ │ │ │ ├── MsgCallBackListener.java
│ │ │ │ │ ├── MsgHandler.java
│ │ │ │ │ ├── RouteRequestImpl.java
│ │ │ │ │ └── command
│ │ │ │ │ ├── CloseAIModelCommand.java
│ │ │ │ │ ├── DelayMsgCommand.java
│ │ │ │ │ ├── EchoInfoCommand.java
│ │ │ │ │ ├── EmojiCommand.java
│ │ │ │ │ ├── OpenAIModelCommand.java
│ │ │ │ │ ├── PrefixSearchCommand.java
│ │ │ │ │ ├── PrintAllCommand.java
│ │ │ │ │ ├── PrintOnlineUsersCommand.java
│ │ │ │ │ ├── QueryHistoryCommand.java
│ │ │ │ │ └── ShutDownCommand.java
│ │ │ │ ├── thread
│ │ │ │ │ ├── ContextHolder.java
│ │ │ │ │ └── ReConnectJob.java
│ │ │ │ ├── util
│ │ │ │ │ └── SpringBeanFactory.java
│ │ │ │ └── vo
│ │ │ │ ├── req
│ │ │ │ │ ├── GoogleProtocolVO.java
│ │ │ │ │ ├── GroupReqVO.java
│ │ │ │ │ ├── LoginReqVO.java
│ │ │ │ │ ├── P2PReqVO.java
│ │ │ │ │ ├── SendMsgReqVO.java
│ │ │ │ │ └── StringReqVO.java
│ │ │ │ └── res
│ │ │ │ ├── CIMServerResVO.java
│ │ │ │ ├── OnlineUsersResVO.java
│ │ │ │ └── SendMsgResVO.java
│ │ │ └── resources
│ │ │ ├── application.properties
│ │ │ └── banner.txt
│ │ └── test
│ │ └── com
│ │ └── crossoverjie
│ │ └── cim
│ │ ├── client
│ │ │ └── service
│ │ │ ├── InnerCommandContextTest.java
│ │ │ └── impl
│ │ │ └── AsyncMsgLoggerTest.java
│ │ └── server
│ │ └── test
│ │ ├── CommonTest.java
│ │ ├── EchoTest.java
│ │ └── RouteTest.java
│ ├── cim-common
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── crossoverjie
│ │ │ └── cim
│ │ │ └── common
│ │ │ ├── constant
│ │ │ │ └── Constants.java
│ │ │ ├── core
│ │ │ │ └── proxy
│ │ │ │ └── ProxyManager.java
│ │ │ ├── data
│ │ │ │ └── construct
│ │ │ │ ├── RingBufferWheel.java
│ │ │ │ ├── SortArrayMap.java
│ │ │ │ └── TrieTree.java
│ │ │ ├── enums
│ │ │ │ ├── StatusEnum.java
│ │ │ │ └── SystemCommandEnum.java
│ │ │ ├── exception
│ │ │ │ ├── CIMException.java
│ │ │ │ └── GenericException.java
│ │ │ ├── kit
│ │ │ │ └── HeartBeatHandler.java
│ │ │ ├── pojo
│ │ │ │ ├── CIMUserInfo.java
│ │ │ │ └── RouteInfo.java
│ │ │ ├── protocol
│ │ │ │ ├── CIMRequestProto.java
│ │ │ │ ├── CIMResponseProto.java
│ │ │ │ └── ProtocolUtil.java
│ │ │ ├── req
│ │ │ │ └── BaseRequest.java
│ │ │ ├── res
│ │ │ │ ├── BaseResponse.java
│ │ │ │ └── NULLBody.java
│ │ │ ├── route
│ │ │ │ └── algorithm
│ │ │ │ ├── RouteHandle.java
│ │ │ │ ├── consistenthash
│ │ │ │ │ ├── AbstractConsistentHash.java
│ │ │ │ │ ├── ConsistentHashHandle.java
│ │ │ │ │ ├── SortArrayMapConsistentHash.java
│ │ │ │ │ └── TreeMapConsistentHash.java
│ │ │ │ ├── loop
│ │ │ │ │ └── LoopHandle.java
│ │ │ │ └── random
│ │ │ │ └── RandomHandle.java
│ │ │ └── util
│ │ │ ├── HttpClient.java
│ │ │ ├── NettyAttrUtil.java
│ │ │ ├── RandomUtil.java
│ │ │ ├── RouteInfoParseUtil.java
│ │ │ └── StringUtil.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── crossoverjie
│ │ └── cim
│ │ └── common
│ │ ├── CommonTest.java
│ │ ├── data
│ │ │ └── construct
│ │ │ ├── RingBufferWheelTest.java
│ │ │ ├── ScheduledTest.java
│ │ │ ├── SortArrayMapTest.java
│ │ │ ├── TimerTest.java
│ │ │ └── TrieTreeTest.java
│ │ ├── enums
│ │ │ └── SystemCommandEnumTypeTest.java
│ │ ├── route
│ │ │ └── algorithm
│ │ │ └── consistenthash
│ │ │ ├── SortArrayMapConsistentHashTest.java
│ │ │ └── TreeMapConsistentHashTest.java
│ │ └── util
│ │ └── HttpClientTest.java
│ ├── cim-forward-route
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── crossoverjie
│ │ │ │ └── cim
│ │ │ │ └── route
│ │ │ │ ├── RouteApplication.java
│ │ │ │ ├── cache
│ │ │ │ │ └── ServerCache.java
│ │ │ │ ├── config
│ │ │ │ │ ├── AppConfiguration.java
│ │ │ │ │ ├── BeanConfig.java
│ │ │ │ │ └── SwaggerConfig.java
│ │ │ │ ├── constant
│ │ │ │ │ └── Constant.java
│ │ │ │ ├── controller
│ │ │ │ │ └── RouteController.java
│ │ │ │ ├── exception
│ │ │ │ │ └── ExceptionHandlingController.java
│ │ │ │ ├── kit
│ │ │ │ │ ├── NetAddressIsReachable.java
│ │ │ │ │ ├── ServerListListener.java
│ │ │ │ │ └── ZKit.java
│ │ │ │ ├── service
│ │ │ │ │ ├── AccountService.java
│ │ │ │ │ ├── CommonBizService.java
│ │ │ │ │ ├── UserInfoCacheService.java
│ │ │ │ │ └── impl
│ │ │ │ │ ├── AccountServiceRedisImpl.java
│ │ │ │ │ └── UserInfoCacheServiceImpl.java
│ │ │ │ └── util
│ │ │ │ └── SpringBeanFactory.java
│ │ │ └── resources
│ │ │ ├── application.properties
│ │ │ └── banner.txt
│ │ └── test
│ │ └── java
│ │ ├── CommonTest.java
│ │ ├── RedisTest.java
│ │ └── com
│ │ └── crossoverjie
│ │ └── cim
│ │ └── route
│ │ └── service
│ │ └── impl
│ │ ├── AccountServiceRedisImplTest.java
│ │ └── UserInfoCacheServiceImplTest.java
│ ├── cim-rout-api
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── crossoverjie
│ │ └── cim
│ │ └── route
│ │ └── api
│ │ ├── RouteApi.java
│ │ └── vo
│ │ ├── req
│ │ │ ├── ChatReqVO.java
│ │ │ ├── LoginReqVO.java
│ │ │ ├── P2PReqVO.java
│ │ │ ├── RegisterInfoReqVO.java
│ │ │ └── SendMsgReqVO.java
│ │ └── res
│ │ ├── CIMServerResVO.java
│ │ ├── RegisterInfoResVO.java
│ │ └── SendMsgResVO.java
│ ├── cim-server
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── crossoverjie
│ │ │ │ └── cim
│ │ │ │ └── server
│ │ │ │ ├── CIMServerApplication.java
│ │ │ │ ├── config
│ │ │ │ │ ├── AppConfiguration.java
│ │ │ │ │ ├── BeanConfig.java
│ │ │ │ │ ├── EndPointConfig.java
│ │ │ │ │ └── SwaggerConfig.java
│ │ │ │ ├── controller
│ │ │ │ │ └── IndexController.java
│ │ │ │ ├── endpoint
│ │ │ │ │ └── CustomEndpoint.java
│ │ │ │ ├── handle
│ │ │ │ │ └── CIMServerHandle.java
│ │ │ │ ├── init
│ │ │ │ │ └── CIMServerInitializer.java
│ │ │ │ ├── kit
│ │ │ │ │ ├── RegistryZK.java
│ │ │ │ │ ├── RouteHandler.java
│ │ │ │ │ ├── ServerHeartBeatHandlerImpl.java
│ │ │ │ │ └── ZKit.java
│ │ │ │ ├── server
│ │ │ │ │ └── CIMServer.java
│ │ │ │ └── util
│ │ │ │ ├── SessionSocketHolder.java
│ │ │ │ └── SpringBeanFactory.java
│ │ │ └── resources
│ │ │ ├── application.properties
│ │ │ └── banner.txt
│ │ └── test
│ │ └── com
│ │ └── crossoverjie
│ │ └── cim
│ │ └── server
│ │ └── util
│ │ └── NettyAttrUtilTest.java
│ ├── cim-server-api
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── crossoverjie
│ │ └── cim
│ │ └── server
│ │ └── api
│ │ ├── ServerApi.java
│ │ └── vo
│ │ ├── req
│ │ │ └── SendMsgReqVO.java
│ │ └── res
│ │ └── SendMsgResVO.java
│ ├── doc
│ │ └── QA.md
│ ├── pic
│ │ └── innercommand.gif
│ ├── pom.xml
│ ├── protocol
│ │ ├── BaseRequestProto.proto
│ │ └── BaseResponseProto.proto
│ └── script
│ ├── deploy.sh
│ ├── route-startup.sh
│ └── server-startup.sh
└── 5t6t网_cim-master.zip
150 directories, 167 files
评论